package com.ysx.oa.resume.dao;

import com.ysx.oa.resume.Bean.ResumeBean;
import com.ysx.oa.resume.entity.ResumeEntity;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.ResourceBundle;

@Repository
public interface ResumeDao {

    /**
     * 方法描述: 通过 resumeEntity 的studentId属性 新增 一个履历记录
     * @author: 黄德标
     * @date: 2021/11/21 16:21
     * @params: [resumeEntity]
     * @returns: 返回1 则添加成功
     */
    int addResumeEntityByStudentId(ResumeEntity resumeEntity);

    /**
     * 方法描述: 根据 ResumeId 删除一个面试履历记录
     * @author: 黄德标
     * @date: 2021/11/21 16:26
     * @params: [resumeId]
     * @returns: 返回1 则删除成功
     */
    int deleteResumeEntityByResumeId(Integer resumeId);

    /**
     * 方法描述: 根据 传入对象 的ID 更新 面试履历记录
     * @author: 黄德标
     * @date: 2021/11/21 17:09
     * @params: [resumeEntity]
     * @returns: 返回1 则更新成功
     */
    int updateResumeEntityByResumeId(ResumeEntity resumeEntity);

    /**
     * 方法描述: 根据 ResumeId 查询面试记录
     * @author: 黄德标
     * @date: 2021/11/21 19:07
     * @params: [resumeId]
     * @returns: ResumeEntity实体
     */
    ResumeEntity selectResumeEntityByResumeId(Integer resumeId);


    /**
     * 方法描述: 根据 studentId 查询 此学生 所有面试记录
     * @author: 黄德标
     * @date: 2021/11/21 19:23
     * @params: [studentId]
     * @returns: ResumeEntity对象的集合
     */
    ArrayList<ResumeEntity> selectResumeEntityByStudentId(Integer studentId);


    /**
     * 方法描述: 根据 classId 查询 此班级所有学生的 所有面试记录
     * @author: 黄德标
     * @date: 2021/11/21 19:38
     * @params: [classId]
     * @returns: ResumeEntity对象的集合
     */
    ArrayList<ResumeEntity> selectResumeEntityByClassId(Integer classId);

    /**
     * 方法描述: 根据 companyId 查询 此公司面试过的学生 的所有面试记录
     * @author: 黄德标
     * @date: 2021/11/21 19:38
     * @params: [companyId]
     * @returns: ResumeEntity对象的集合
     */
    ArrayList<ResumeEntity> selectResumeEntityByCompanyId(Integer companyId);

    /**
     * 方法描述: 根据 传入的ResumeEntity对象的 STUDENT_ID、COMPANY_ID、JOB_ID、DATE属性
     *          进行筛选符合要求的 面试履历记录
     * @author: 黄德标
     * @date: 2021/11/21 20:04
     * @params: [resumeEntity]
     * @returns: ResumeEntity对象的集合
     */
    ArrayList<ResumeEntity> selectResumeEntityByResumeEntity(ResumeEntity resumeEntity);

    /**
     * 方法描述:
     * @author: 黄德标
     * @date: 2021/11/23 15:22
     * @param: [java.lang.Integer]
     * @return: 返回0 则不存在，
     *          返回1 则存在
     */
    Integer checkResumeIdIsNull(Integer resumeId);

}
